.

Vantagens e conceitos básicos no uso de modelos lineares mistos em psicolinguística

Encontro Mineiro de Psicolinguística

Mahayana Godoy

outubro/2020



Organização

  • Por que fazemos análise estatística mesmo?

  • Alternativas antigas para lidar com medidas repetidas

  • Implementação e conceitos básicos de MLM

  • Vantagens no uso de MLMs

Nossos dados

Um experimento de priming

Variável prime:

  • relacionado (leite > CAFÉ)

  • não-relacionado (pente > CAFÉ)


Itens:

  • 60 itens (30 em cada nível no quadrado latino)


Participantes:

  • 20 participantes

O arquivo e os dados


Os dados foram simulados e estão no arquivo priming_EM.csv


Como de difícil já basta a vida, eles estão em distribuição normal


Os códigos para análise estão em codigo_EM.R

Estatística: para quê?

Por que fazemos análise dos experimentos?


Relacionado: 678ms


Prime não-relacionado: 725ms



Será que os valores são diferentes?

O que pode ter contribuído para o tempo de resposta?

Que efeitos temos no experimento e que precisam entrar no modelo?



  • Fixo: efeitos controlados pelo pequisador (no nosso caso, tipo de prime)



  • Aleatório: efeitos que influenciam a variável resposta, mas não podem ser controlados pelo pesquisador

Psicolinguística e efeitos aleatórios


Participantes: cada um com sua idiossincrasia

Items: os itens são uma pequena amostra da língua


Nós temos aqui uma estrutura de medidas repetidas por item e por participante

Por que fazemos análise dos experimentos?


GENERALIZAÇÃO!


20 participantes –> falantes do idioma

60 palavras –> outros itens do idioma


Meu modelo precisa, portanto, incluir efeitos fixos e aleatórios

Como a psicolinguística lidou com essa questão?

Análise de Variância (ANOVA)


Estatística F: verificar se a variância associada à manipulação de uma variável (no nosso caso, tipo de prime) é maior que a variância causada por fatores aleatórios não controlados pelo experimentador


Como tem sido usado: dados de cronometria, contagem e de natureza binária

ANOVA


Psicolinguística: frequentemente precisa incluir dois efeitos aleatórios


  • Vantagem: ANOVA permite inclusão de efeito aleatório!

  • Problemas: ANOVA permite inclusão de apenas um efeito aleatório!

Clark (1973)


agrupamento de dados por participante: (\(F_1\))

agrupamento de dados por item: (\(F_2\))


\(\min F' = \frac{F_1F_2}{F_1+F_2}\)


Se \(\min F' < 0.05\), rejeito \(H_0\)

Telefone sem fio…


Vinte anos depois:


“Basta fazer duas ANOVAs e reportar os resultados das duas”

(cf. Raaijmakers et al. 1999)

ANOVA: dois testes de significância

Um exemplo de tabela ANOVA

Fonte: Godoy e Nunes (2020)

ANOVA: dois testes de significância


Though the F1 analyzes demonstrate a real and significant effect, the F2 analyzes do not reach a level of high significance ( p < 0.05). That hints at a power problem: the analysis over subjects (F1) confirms the hypotheses formulated (…), but the analysis over stimuli (F2) indicates no more than a tendency.

Joosten et al. (2007) Dutch collective nouns and conceptual profiling. Linguistics. 45–1, p. 85–132

Modelo Linear Misto

Por que “misto”?

  • Permite a inclusão de efeitos fixos e efeitos aleatórios



No nosso experimento:

  • fixo: prime

  • aleatório: item e participante

Por que é um modelo linear?

Conjunto de dados

priming <- read.csv("dados/priming.csv")
head(priming)
##      item participante       prime    tempo
## 1 item_01         S_01 relacionado 688.0820
## 2 item_02         S_01 relacionado 694.6091
## 3 item_03         S_01 relacionado 499.6528
## 4 item_04         S_01 relacionado 585.7681
## 5 item_05         S_01 relacionado 480.8825
## 6 item_06         S_01 relacionado 492.4530

Maneiras de formular hipóteses


Tempo de resposta do prime relacionado será diferente do tempo de resposta do prime não-relacionado

\(\mu_{rel} ≠ \mu_{n.rel}\)


OU


Tempo varia em função de prime

tempo ~ prime

y ~ x

Modelos lineares são regressões lineares

Modelos lineares

Relação entre concretude e imageabilidade para seis palavras do espanhol. Fonte: Godoy e Nunes (em preparação)

Dados

Figura 1: Distribuição do tempo de resposta (ms) para as condições relacionada (rel) e não-relacionada (nrel) do prime.

Quais os parâmetros da reta?


O lugar onde ela intercepta o eixo y e a sua inclinação


  • Intercepto: \(\beta_{0}\)

  • Slope: \(\beta_{x}\)

Quais os parâmetros da reta?

O que é o intercepto aqui? E o slope?

  • Andar 1 unidade no eixo x inclina quanto a minha reta?

Para constar: médias e diferenças


Médias

## # A tibble: 2 x 2
##   prime        media   
##   <chr>        <chr>   
## 1 nrelacionado 725.7119
## 2 relacionado  678.2213


Diferença

725.7119 - 678.2213 
## [1] 47.4906

Ajustando o ML

função lm(y ~ x, dados)

(e seria a mesma para um x de natureza contínua)

modelo <- lm(tempo ~ prime, priming)

Vendo o resultado de um ML

summary(modelo)
## 
## Call:
## lm(formula = tempo ~ prime, data = priming)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -392.71  -93.45    2.92   97.98  458.85 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       725.712      8.266  87.791  < 2e-16 ***
## primerelacionado  -47.491     11.700  -4.059 5.59e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 142.5 on 591 degrees of freedom
## Multiple R-squared:  0.02712,    Adjusted R-squared:  0.02547 
## F-statistic: 16.47 on 1 and 591 DF,  p-value: 5.593e-05

Equação de uma regressão/um modelo linear

Como formalizar as relações entre x e y através dos coeficientes de intercepto (\(\beta_{0}\)) e slope (\(\beta_{x}\))?

Qual o valor de y para um determinado valor de x?


Para regressão com uma variável

\(y=\beta_{0}+\beta_{1}x_{1}\)

\(y= 725.712 + (-47.491) * 1\)

Colocando o “MISTO” em Modelo Linear Misto

Efeito aleatório: participante

Observe como os interceptos variam

Efeito aleatório: participante


Inserindo interceptos aleatórios por participante na fórmula


lm(tempo ~ prime + (1|participante), priming)

Efeito aleatório: participante

Observe como os slopes variam

Efeito aleatório: participante


Inserindo slopes aleatórios por condição de prime para cada participante na fórmula


lm(tempo ~ prime + (1+prime|participante), priming)

Efeito aleatório: item

Observe como os interceptos variam

Efeito aleatório: item


Inserindo interceptos aleatórios por item na fórmula


lm(tempo ~ prime + (1+prime|participante) + (1|item), priming)

Efeito aleatório: item

Observe como os slopes variam

Efeito aleatório: item


Inserindo slopes aleatórios por condição de prime para cada item na fórmula


lm(tempo ~ prime + (1+prime|participante) + (1+prime|item), priming)

Mudando o comando: lmer

Pacote lme4, função lmer()


modelolm <- lmer(tempo ~ prime + (1+prime|participante) + (1+prime|item),
                 priming, REML = FALSE)
## boundary (singular) fit: see ?isSingular

A mensagem de erro indica erro de convergência na estrutura máxima de efeitos aleatórios

Mudando o comando: lmer

Ajustando modelo para lidar com convergência


modelolm <- lmer(tempo ~ prime + (1+prime|participante) + (1|item), priming, REML = FALSE)

Estrutura máxima de efeitos aleatórios que nossos dados permitem sem erro de convergência

Resultado LMER

summary(modelolm)
## Linear mixed model fit by maximum likelihood . t-tests use Satterthwaite's
##   method [lmerModLmerTest]
## Formula: tempo ~ prime + (1 + prime | participante) + (1 | item)
##    Data: priming
## 
##      AIC      BIC   logLik deviance df.resid 
##   7352.3   7383.0  -3669.2   7338.3      586 
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.70931 -0.68328  0.02032  0.65692  3.12631 
## 
## Random effects:
##  Groups       Name             Variance Std.Dev. Corr 
##  item         (Intercept)        225.7   15.02        
##  participante (Intercept)      10873.1  104.27        
##               primerelacionado 16049.0  126.68   -0.79
##  Residual                      11571.9  107.57        
## Number of obs: 593, groups:  item, 60; participante, 20
## 
## Fixed effects:
##                  Estimate Std. Error     df t value Pr(>|t|)    
## (Intercept)        726.30      24.22  20.14  29.993   <2e-16 ***
## primerelacionado   -48.76      29.67  19.76  -1.643    0.116    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## primerelcnd -0.782

Comparando LM e LMER

summary(modelo)$coefficients
##                   Estimate Std. Error   t value     Pr(>|t|)
## (Intercept)      725.71187   8.266392 87.790646 0.000000e+00
## primerelacionado -47.49058  11.700313 -4.058916 5.593192e-05
summary(modelolm)$coefficients
##                   Estimate Std. Error       df   t value     Pr(>|t|)
## (Intercept)      726.29777   24.21580 20.14081 29.992718 3.438179e-18
## primerelacionado -48.76107   29.67441 19.75937 -1.643203 1.161596e-01

Comparação por modelos aninhados

Melhor modelo ajustado

Baayen, Davidson e Bates (2008) É preciso reportar os testes e coeficientes do melhor modelo ajustado


Exclusão de fatores que não contribuem significativamente para o modelo

Melhor modelo ajustado

Suponha esse maior modelo:

y ~ A+B


Se análises mostram que B não contribui para modelar y, o melhor modelo é

y ~ A

Modelos aninhados

Modelo 1

modelolm <- lmer(tempo ~ prime + (1+prime|participante) + (1|item), priming, REML = FALSE)

Modelo 2

Modelo aninhado a 1 (igual a tudo, exceto pela variável que quero testar)

modelolm.nulo <- lmer(tempo ~ 1 + (1+prime|participante) + (1|item), priming, REML = FALSE)

Comparação por modelos aninhados

Função anova(): teste de razão de verossimilhança


anova(modelolm, modelolm.nulo)
## Data: priming
## Models:
## modelolm.nulo: tempo ~ 1 + (1 + prime | participante) + (1 | item)
## modelolm: tempo ~ prime + (1 + prime | participante) + (1 | item)
##               npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## modelolm.nulo    6 7352.9 7379.2 -3670.4   7340.9                     
## modelolm         7 7352.3 7383.0 -3669.2   7338.3 2.5317  1     0.1116

RESULTADO: não há efeito de prime sobre tempo

Comparação por modelos aninhados

Comparando modelos com mais de uma variável (cf. Godoy 2019)

mAB <- (y ~ A+B)

mA  <- (y ~ A)

anova(mAB, mA) # isso me indica o efeito de B

Resumindo

  • Construo o modelo com efeitos fixos e aleatórios

  • Confiro convergência

  • Faço análise por modelos aninhados até achar o melhor modelo ajustado

  • Reporto os dados daquele modelo

Mais vantages no uso de MLs e MLMs

Generalização

Generalização

  • Teste-t não-pareado: lm(y ~ \(x_{cat}\))

  • Teste-t pareado: lmer(y ~ \(x_{cat}\) + (1|participante))

  • Correlação: lm(y ~ \(x_{cont}\))

  • ANOVA (sem medidas repetidas): lm(y ~ \(x_{cat}\))

Generalização

Você não precisa ficar pensando em mil testes diferentes a depender da natureza das VPs

modelo <- lm(y ~ cat+cat, dados)


modelo <- lm(y ~ cat+cont, dados)


modelo <- lm(y ~ cont+cont, dados)

(mas cuidado ao interpretar os coeficientes!)

Generalização

Fonte: https://lindeloev.github.io/tests-as-linear/

Modelos lineares generalizados

Mesma equação para diferentes distribuições de variável preditora

# binomial
modelo <- glm(y ~ x, dados, family = "binomial")

# gamma
modelo <- glm(y ~ x, dados, family = "gamma")

# poisson
modelo <- glm(y ~ x, dados, family = "poisson")

(mas cuidado ao interpretar os coeficientes!)

Modelos lineares generalizados



Possibilidade de incluir efeitos aleatórios para dados em outras distribuições, o que é fundamental para a maior parte dos estudos em psicolinguística

Modelos lineares generalizados

Regressão logística (binomial)

modelo <- glmer(interpretacao ~ aspecto, dados, family = “binomial”(link=logit))

Modelos lineares generalizados

Regressão de poisson

glmer(number.obstruents ~ evolution + (1|participant) + (1|item), dados,family=poisson(link=log)))

Modelos lineares generalizados

Regressão de poisson-truncada

glmmTMB(silabas ~ evolution + (1|participante) + (1|item), dados,family=truncated_poisson))

Take-home message

Para jovens pesquisadores em formação


Invista seu tempo no estudo de modelos lineares!


Eles são a base da maioria dos testes estatísticos, e isso lhe dará mais flexibilidade para fazer análises mais sofisticadas no futuro

Para professores

Se você domina vários métodos, talvez os MLs lhe pareçam redundantes e desnecessários


Avalie se suas pesquisas precisam de modelos mais complexos que valham a pena o investimento pessoal em aprender modelos lineares


Estimule seus alunos a aprenderem modelos lineares desde o início

Recursos

Modelos lineares

Foco em modelos lineares de modo geral

Recursos para MLM em português


Godoy (2019): material introdutório em mahayana.me/mlm

  • Intro ao R

  • Básico de ML (intercepto, slope, resíduos)

  • Intro a MLMs

  • Interação em MLMs

  • Contrastes

  • Diagnóstico

.



Obrigada!

contato: